home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / graphics / tiff / puyopuyo / kabe_smp.bas < prev    next >
BASIC Source File  |  1994-11-16  |  7KB  |  208 lines

  1. 10000 '
  2. 10010 '☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
  3. 10020 '☆                                                                ☆
  4. 10030 '☆ ぷよぷよの壁紙集 描画ぷろぐらむ vol.1  Copyright by PuyoPuyo   ☆
  5. 10040 '☆                                                                ☆
  6. 10050 '☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
  7. 10060 '
  8. 10070 ' 【実行方法】
  9. 10080 ' プログラム実行後,適当に番号を入力してください。次に保存する
  10. 10090 ' ファイル名を入力してください。あとは絵ができるのを待つだけ。
  11. 10100 ' うちのマシン(UX20)で一枚約15分ぐらいかかります……(^_^;;)
  12. 10110 '
  13. 10120 ' 【自分で作る!!】
  14. 10130 ' 自分でつくってみたいという方は12070行以降に"*PATnn"(nn=30~35)
  15. 10140 ' という名前でサブルーチンをつくりユーザー関数の宣言をサンプルの
  16. 10150 ' ように入れてください。実行時に作成したサブルーチンの番号を入力
  17. 10160 ' してください。
  18. 10170 '
  19. 10180 ' 【その他】
  20. 10190 ' よくわからない場合は,メールで(NIFTY-ID GFB03074)まで連絡して
  21. 10200 ' ください。
  22. 10210 '
  23. 10220 '                                                       1994/07/12
  24. 10230 '
  25. 10240 '
  26. 10250 CLS:SCREEN@1:T=1.74532E-02:RANDOMIZE TIME/5:SX=0  '初期設定
  27. 10260 INPUT "image No.? (1-29) ",N
  28. 10270 IF N<0 OR 29<N THEN 10260
  29. 10280 LINE INPUT "image file name? ",N$
  30. 10290 IF N$="" THEN 10280
  31. 10300 IF INSTR(N$,"tif")=0 AND INSTR(N$,"TIF")=0 THEN N$=N$+".TIF"
  32. 10310 IF LEN(N$)>12 THEN 10280
  33. 10320 :
  34. 10330 ON N GOSUB *PAT1,*PAT2,*PAT3,*PAT4,*PAT5,*PAT6,*PAT7,*PAT8,*PAT9,*PAT10,*PAT11,*PAT12,*PAT13,*PAT14,*PAT15,*PAT16,*PAT17,*PAT18,*PAT19,*PAT20,*PAT21,*PAT22,*PAT23,*PAT24,*PAT25,*PAT26,*PAT27,*PAT28,*PAT29,*PAT30,*PAT31,*PAT32,*PAT33,*PAT34,*PAT35
  35. 10340 CLS:LOCATE 0,0:PRINT "making "+N$
  36. 10350 GOSUB *WR                                       '描画ルーチンへ
  37. 10360 :
  38. 10370 WHILE INKEY$=""
  39. 10380  BEEP:WAIT 100
  40. 10390 WEND
  41. 10400 END
  42. 10410 :
  43. 10420 *WR                                             '描画ルーチン
  44. 10430  TIME1=TIME
  45. 10440  FOR X=SX TO 319
  46. 10450    RD=RND*50
  47. 10460    FOR Y=0 TO 239
  48. 10470      G=FNG(X,Y) MOD 32
  49. 10480      R=FNR(X,Y) MOD 32
  50. 10490      B=FNB(X,Y) MOD 32
  51. 10500      PSET(X,Y),[G*8,R*8,B*8]
  52. 10510    NEXT Y
  53. 10520  NEXT X
  54. 10530  TIME2=TIME-TIME1
  55. 10540  M=TIME2\60
  56. 10550  S=TIME2 MOD 60
  57. 10560  PRINT USING "##_m ##_s";M,S                     'かかった時間を表示
  58. 10570  PRINT "complete !!"
  59. 10580  SAVE@ N$,(0,0)-(319,239)
  60. 10590 RETURN
  61. 10600 :
  62. 10610 ' 以下,関数定義いっぱい
  63. 10620 *PAT1
  64. 10630  DEF FNG(X,Y)=(ABS(SIN(Y*T)+SIN((Y+39)*T))*392+X) MOD 20
  65. 10640  DEF FNR(X,Y)=(ABS((SIN(Y)+COS(Y)+SIN(SIN(Y))))*30+X) 
  66. 10650  DEF FNB(X,Y)=(LOG((X+1)+Y))*124 
  67. 10660 RETURN
  68. 10670 *PAT2
  69. 10680  DEF FNG(X,Y)=(ABS(SIN(X/3+Y*SIN(Y))/3))*81 
  70. 10690  DEF FNR(X,Y)=ABS(LOG(X+Y*2+1))*100+X*3-Y
  71. 10700  DEF FNB(X,Y)=ABS(TAN(((X/3)*Y/5+SIN(X/6))*T)*30)
  72. 10710 RETURN
  73. 10720 *PAT3
  74. 10730  DEF FNG(X,Y)=ABS(ATN((Y+X)*T)+SIN(X*T)+COS(Y/3*T))*100
  75. 10740  DEF FNR(X,Y)=ABS(SIN(X/3*T)*2+COS(Y/2*T))*123
  76. 10750  DEF FNB(X,Y)=ABS(TAN((X+Y+1)/3*T))*37
  77. 10760 RETURN
  78. 10770 *PAT4
  79. 10780  DEF FNG(X,Y)=(SQR(ABS(X/3*Y/9)))*39
  80. 10790  DEF FNR(X,Y)=(SIN((Y+RD)*3*T)+1)*10+RND*5
  81. 10800  DEF FNB(X,Y)=(ABS(SIN(X*T)+COS(Y*T)))*302 
  82. 10810 RETURN
  83. 10820 *PAT5
  84. 10830  DEF FNG(X,Y)=(SIN((X+Y*2)*T/3)+1+X)*323 
  85. 10840  DEF FNR(X,Y)=ATN(X/8+Y*2*T)*30+(COS(X*Y/3*T)+1)*3
  86. 10850  DEF FNB(X,Y)=(LOG(240-Y))*100+X/4
  87. 10860 RETURN
  88. 10870 *PAT6
  89. 10880  DEF FNG(X,Y)=((SIN(SIN(Y*T)*180*T)+1)+(COS(SIN(X/2*T)*180*T)+1))*122
  90. 10890  DEF FNR(X,Y)=(SIN(LOG(Y+1)*T)+1)*140*X
  91. 10900  DEF FNB(X,Y)=(COS(COS((Y+40)/4*T)*180*T)+1)*413+(SIN(X*T)+1)*30
  92. 10910 RETURN
  93. 10920 *PAT7
  94. 10930  DEF FNG(X,Y)=(SIN((Y+(SIN(X*2*T)+1)*30)*5*T)+1)*15.5!
  95. 10940  DEF FNR(X,Y)=(SIN((Y+(SIN(X*2*T)+1)*26+42)*5*T)+1)*15.5!
  96. 10950  DEF FNB(X,Y)=X/2+Y
  97. 10960 RETURN
  98. 10970 *PAT8
  99. 10980  DEF FNG(X,Y)=X*3+Y
  100. 10990  DEF FNR(X,Y)=(320-X)/2+Y
  101. 11000  DEF FNB(X,Y)=X/9+Y
  102. 11010 RETURN
  103. 11020 *PAT9
  104. 11030  DEF FNG(X,Y)=X/7+Y
  105. 11040  DEF FNR(X,Y)=320-Y
  106. 11050  DEF FNB(X,Y)=X/10-Y+320
  107. 11060 RETURN
  108. 11070 *PAT10
  109. 11080  DEF FNG(X,Y)=(LOG(Y+1)+X*2)*50
  110. 11090  DEF FNR(X,Y)=((LOG(240-Y)+X*2))*30 
  111. 11100  DEF FNB(X,Y)=(LOG(X+Y+1))*200 
  112. 11110 RETURN
  113. 11120 *PAT11
  114. 11130  DEF FNG(X,Y)=(LOG(X*Y+1))*200 
  115. 11140  DEF FNR(X,Y)=LOG(240-Y+320-X)*390
  116. 11150  DEF FNB(X,Y)=(FNG(X,Y)+FNR(X,Y))/2
  117. 11160 RETURN
  118. 11170 *PAT12
  119. 11180  DEF FNG(X,Y)=(SIN(Y*T)+10)^2*100*(X+1)
  120. 11190  DEF FNR(X,Y)=(FNG(X,Y)*(SIN(X*T)+1))*34
  121. 11200  DEF FNB(X,Y)=(X/2+Y)*3/2
  122. 11210 RETURN
  123. 11220 *PAT13
  124. 11230  DEF FNG(X,Y)=X+Y+(X+130)/(Y+4)
  125. 11240  DEF FNR(X,Y)=FNB(X,Y)*2+20+FNG(X,Y)
  126. 11250  DEF FNB(X,Y)=((SIN((Y+X*T))+1)*16)*30
  127. 11260 RETURN
  128. 11270 *PAT14
  129. 11280  DEF FNG(X,Y)=ABS(TAN((X+Y)*T)*30)
  130. 11290  DEF FNR(X,Y)=((320-X)/2+Y)*3/2
  131. 11300  DEF FNB(X,Y)=FNG(X,Y)+FNR(X,Y)/2
  132. 11310 RETURN
  133. 11320 *PAT15
  134. 11330  DEF FNG(X,Y)=X^2+2*X*Y+Y^2
  135. 11340  DEF FNR(X,Y)=SQR(X^2+Y^2*2)
  136. 11350  DEF FNB(X,Y)=(FNG(X,Y)+FNR(X,Y))*10 
  137. 11360 RETURN
  138. 11370 *PAT16
  139. 11380  DEF FNG(X,Y)=(SIN((X+Y*2)*3*T)+1)*18
  140. 11390  DEF FNR(X,Y)=FNG(320-X+Y,Y)*2
  141. 11400  DEF FNB(X,Y)=ABS(32-FNG(X,Y)+FNR(X/2,Y)) 
  142. 11410 RETURN
  143. 11420 *PAT17
  144. 11430  DEF FNG(X,Y)=(SIN(Y*T*4+X/2)+1)*15.5!
  145. 11440  DEF FNR(X,Y)=31-FNG(X,Y*2)
  146. 11450  DEF FNB(X,Y)=FNG((SIN(X*T)+1)*30,(SIN(Y*T)+1)*30)
  147. 11460 RETURN
  148. 11470 *PAT18
  149. 11480  DEF FNG(X,Y)=(COS(Y*T*4+X/6)+1)*15.5!
  150. 11490  DEF FNR(X,Y)=FNG((SIN(Y*T)+1)*38,(COS(X*T*2)+1)*23)
  151. 11500  DEF FNB(X,Y)=(FNG(X+Y,Y*2)+FNR(Y,X+Y))/2
  152. 11510 RETURN
  153. 11520 *PAT19
  154. 11530  DEF FNG(X,Y)=31-FNB(X*2,Y)
  155. 11540  DEF FNR(X,Y)=X+(SIN(Y*T*8)+1)*LOG(X*5+1)*10
  156. 11550  DEF FNB(X,Y)=320-X+Y
  157. 11560 RETURN
  158. 11570 *PAT20
  159. 11580  DEF FNG(X,Y)=(SQR(X/2+1)*(SIN(Y*T)+1)+SQR(Y+1))*20
  160. 11590  DEF FNR(X,Y)=FNG(320-X,Y+X)
  161. 11600  DEF FNB(X,Y)=31-(FNG(X*2,Y)+FNR(X,Y*2))/2
  162. 11610 RETURN
  163. 11620 *PAT21
  164. 11630  DEF FNG(X,Y)=FNB(X,Y)*(SIN(FNR(Y,X)*T*10)+1)
  165. 11640  DEF FNR(X,Y)=320-X+Y/2*3
  166. 11650  DEF FNB(X,Y)=X*3/2+Y/3+X/2
  167. 11660 RETURN
  168. 11670 *PAT22
  169. 11680  DEF FNG(X,Y)=LOG(X+1)*LOG(Y+1)*10
  170. 11690  DEF FNR(X,Y)=FNG((SIN(X*T)+1)*100,Y)
  171. 11700  DEF FNB(X,Y)=31-(FNG(X,Y)+FNR(X,Y))/2
  172. 11710 RETURN
  173. 11720 *PAT23
  174. 11730  DEF FNG(X,Y)=((SIN(X*T*8)+1)+(COS(Y*T*8)+1))*15.5!/2
  175. 11740  DEF FNR(X,Y)=31-(FNG(X,Y)+FNB(Y,X))/2
  176. 11750  DEF FNB(X,Y)=X+Y
  177. 11760 RETURN
  178. 11770 *PAT24
  179. 11780  DEF FNG(X,Y)=(COS((COS((X+Y)*T*4)+1)*180*T*2)+1)*15.5! 
  180. 11790  DEF FNR(X,Y)=(SIN((SIN((320-X+Y)*T*3)+1)*180*T*3)+1)*15.5! 
  181. 11800  DEF FNB(X,Y)=31-(FNG(X,Y)+FNR(X,Y))/2
  182. 11810 RETURN
  183. 11820 *PAT25
  184. 11830  DEF FNG(X,Y)=((SIN(SIN(X*T)+1)*Y*T*2)+1)*15.5!
  185. 11840  DEF FNR(X,Y)=(FNG(Y,X*2)+FNB(X,Y*2))/2
  186. 11850  DEF FNB(X,Y)=(COS(Y*T*3)+1)*15.5!+(SIN(X*T)+1)*15.5!
  187. 11860 RETURN
  188. 11870 *PAT26
  189. 11880  DEF FNG(X,Y)=(COS((X/2+Y)*10*T)+1)*30 
  190. 11890  DEF FNR(X,Y)=(SIN(Y*T*5)+1+X/5)*7 
  191. 11900  DEF FNB(X,Y)=320-X+Y+(SIN(X*6*T)+1)*10+(32-FNG(X,Y))
  192. 11910 RETURN
  193. 11920 *PAT27
  194. 11930  DEF FNG(X,Y)=(SIN((X/2+Y+(SIN(X*T*8)+1)*10)*T*7)+1)*15.5!
  195. 11940  DEF FNR(X,Y)=(SIN((320-X/2+Y+(SIN(X*T*8)+1)*10)*T*7)+1)*15.5!
  196. 11950  DEF FNB(X,Y)=(62-FNG(X,Y)+FNR(X,Y))/4
  197. 11960 RETURN
  198. 11970 *PAT28
  199. 11980  DEF FNG(X,Y)=(SIN((X*2+240-Y)*T*7)+1)*17
  200. 11990  DEF FNR(X,Y)=(SIN((X/2+240-Y)*T*7)+1)*17
  201. 12000  DEF FNB(X,Y)=((FNG(X,Y) AND NOT(FNR(X,Y))) AND 31)+8
  202. 12010 RETURN
  203. 12020 *PAT29
  204. 12030  DEF FNG(X,Y)=(SIN(Y*T*8)+1)*16+(SIN(X*T*10)+1)*3
  205. 12040  DEF FNR(X,Y)=Y+(SIN(X*T*7)+1)*4
  206. 12050  DEF FNB(X,Y)=31-(FNG(X,Y) AND FNR(X,Y))
  207. 12060 RETURN
  208.